perm filename GGG[MSS,LCS] blob
sn#267287 filedate 1977-03-07 generic text, type T, neo UTF8
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 1,1
**** File 1) BIGGET.FAI[MSS,LCS], Page 1 line 4
1) C00002 00002 TITLE BIGGET
1) C00013 ENDMK
1) C⊗;
1) TITLE BIGGET
1) ENTRY BIGGET,MOVIT,SORT2,EXCH,EXTEN
1) INTERNAL PUTEXT,EXTOUT,GETEXT,EXTIN,FINEXT
1) EXTERNAL .COMM.,XRN,KJY,PTR,NNP,MMV,RR4,AMOD,RINP
1) K←15↔J←14↔ M←2↔ R2←5↔ X←6↔ L←4↔ R←7↔ A←11↔RY←3↔RZ←13↔JJ2←12
1) ; SEE JJUST ---
1) BIGGET: 0 ;CALL BIGGET
1) SETZ J, ; J=0
1) SETZ K, ; K=0
1) SETZ X, ; PTR IS LOC OF PWDS(1)
1) MOVEI M,PTR ; DO 1 M=1,ITEM
1) G1: AOJ X,
1) MOVE L,(M) ; XRN IS LOC OF RN(1)
1) MOVEI R,XRN ;L=PWDS(M)
1) ADDI R,(L)
1) G9: MOVE A,2(R)
1) CAML A,RR4 ;R4
1) CAMLE A,RR4+1
1) JRST G2 ;9 IF(OUTLIM(R4,R5,RN(L+3)))GO TO 2
1) AOJ J,
1) ; IN LIMITS?
1) MOVEI A,MMV-1 ;J=J+1
1) ADDI A,(J)
1) MOVEI 0,(L)
1) AOJ K, ;K=K+1
1) MOVEI 1,NNP-1
1) ADDI 1,(K) ;NP(K)=L
1) MOVEM 0,(1)
1) ADDI 0,3 ;N(J)=L+3
1) MOVEM 0,(A)
1) ; NP IS FOR USE IN JUSTIFY ROUTINE
1) G2: MOVE RY,(R) ;2 IF(RY.LT.4)GO TO 1
1) CAML RY,[=4.0]
1) CAMLE RY,[=7.0]
**** File 2) MOVE.FAI[XX,LCS], Page 1 line 4
2) C00002 00002 TITLE MOVE
2) C00021 ENDMK
2) C⊗;
2) TITLE MOVE
2) ENTRY GETPTS,MOVIT,OUTLIM,COPYIT,UPDN,STFCH,DELETE,NOIR
2) ENTRY SLEND,POSIT,NOTAIL
2) EXTERNAL LOOP,RTLINE,DL,DPY,DPYNEW,.COMM.,XRN,KJY,PTR,POSI
2) EXTERNAL SCM,AMOD,RMOD,RINP
2) K←15↔J←14↔ M←2↔ R2←5↔ X←6↔ L←4↔ R←7↔ A←11↔RY←3↔RZ←13↔JJ2←12
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 1,1
2) ; SUBROUTINE GETPTS
2) ; DIMENSION N(500),NP(500)
2) ; COMMON/XRN/RN(4000) /KJY/ K,J
2) ; COMMON R2,JA,CENTR,J2,RJQ(18),RX6,JR,L,RDIS,VY,JQ(17)
2) ; 1/PTR/PWDS(250),ITEM,LL,I,IX
2) ; EQUIVALENCE (R4,RJQ(2)),(R5,RJQ(3)),(R11,RJQ(9))
2) ; 1,(R6,RJQ(4)),(N,RN(2500)),(NP,RN(3000))
2) GETPTS: 0 ;CALL GETPTS(N)
2) SETZ J, ; J=0
2) SETZ K, ; K=0
2) MOVE JJ2,POSI+=8
2) MOVE R2,.COMM.
2) MOVE X,@(16)
2) SOS X
2) MOVEI M,PTR ; DO 1 M=1,ITEM
2) ADDI M,(X)
2) G1: AOJ X,
2) MOVE L,(M)
2) MOVEI R,XRN(L) ;L=PWDS(M)
2) MOVE 1,1(R) ;RN(L+2)
2) CAML R2,[=5.0]
2) JRST GZ
2) CAME R2,1
2) JRST GX
2) GZ: MOVE A,.COMM.+7 ;RY=RN(L+1)
2) JUMPLE A,G9 ;F(R6.LE.0)GO TO 9
2) CAME A,(R)
2) JRST GX
2) ; CHECK CODE NUM
2) G9: MOVE A,2(R) ;IF(R6.NE.RY)GO TO 1
2) CAMLE A,.COMM.+6
2) JRST G2 ;9 IF(OUTLIM(R4,R5,RN(L+3)))GO TO 2
2) CAMGE A,.COMM.+5 ;R4
2) JRST G2
2) CAMLE JJ2,X
2) MOVE JJ2,X ;IF(M.LT.JJ2)JJ2=M
2) AOJ J,
2) ; IN LIMITS?
2) MOVEI A,RINP+=399(J) ;J=J+1
2) MOVEI 0,(L)
2) AOJ K, ;K=K+1
2) MOVEI 1,RINP+=649(K)
2) MOVEM 0,(1)
2) ADDI 0,3 ;N(J)=L+3
2) MOVEM 0,RINP+=399(J)
2) ; NP IS FOR USE IN JUSTIFY ROUTINE
2) G2: MOVE RY,(R) ;2 IF(RY.LT.4)GO TO 1
2) CAMGE RY,[=4.0]
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 1,1
2) JRST GX
2) CAMLE RY,[=7.0]
***************
**** File 1) BIGGET.FAI[MSS,LCS], Page 2 line 43
1) CAMN RY,[=4.0] ;GO TO(4,5,6,7),IFIX(RY)-3
1) JRST G4
1) CAMN RY,[=5.0]
1) JRST G5
1) CAMN RY,[=6.0]
1) JRST G6
1) CAMG RZ,[=4.0] ;4 IF(RZ.GT.2)GO TO 5
1) JRST G5 ; THERE IS A TRILL WIGGLE
1) JRST GX ;GO TO 1 -- NO WIGGLE (P7≠0)
1) G4: CAMG RZ,[=2.0] ;7 IF(RZ.GT.3)GO TO 5
**** File 2) MOVE.FAI[XX,LCS], Page 2 line 65
2) KIFIX RY,RY
2) XCT TBL-4(RY) ; NEXT REPLACES THE ABOVE.
2) JRST G5
2) JRST GX
2) TBL: JRST G4
2) JRST G5
2) JRST G6
2) CAMG RZ,[4.0]
2) G4: CAMG RZ,[=2.0] ;7 IF(RZ.GT.3)GO TO 5
***************
**** File 1) BIGGET.FAI[MSS,LCS], Page 2 line 60
1) ;N MOVE 1,=9(R) ;IF(RN(L+10).LT.30)GO TO 8
1) ; CAMGE 1,[=30.0]
1) JRST G8
1) MOVE A,7(R) ; IF(OUTLIM(R4,R5,RN(L+8)))GO TO 8
1) CAMG A,RR4+1
1) CAMGE A,RR4
1) JRST G8
1) AOJ J,
1) ; IN LIMITS?
1) MOVEI A,MMV-1 ;J=J+1
1) ADDI A,(J)
1) MOVEI 0,(L) ;J=J+1
1) ADDI 0,=8 ;N(J)=L+8
1) MOVEM 0,(A)
1) G8: CAMGE RZ,[=7.0] ;8 IF(RZ.LT.7)GO TO 5
**** File 2) MOVE.FAI[XX,LCS], Page 2 line 81
2) JRST G8
2) MOVE A,7(R) ; IF(OUTLIM(R4,R5,RN(L+8)))GO TO 8
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
2) CAMLE A,.COMM.+6
2) JRST G8
2) CAMGE A,.COMM.+5
2) JRST G8
2) CAMLE JJ2,X
2) MOVE JJ2,X
2) AOJ J,
2) ; IN LIMITS?
2) MOVEI 0,=8(L) ;J=J+1
2) MOVEM 0,RINP+=399(J)
2) G8: CAMGE RZ,[=7.0] ;8 IF(RZ.LT.7)GO TO 5
***************
**** File 1) BIGGET.FAI[MSS,LCS], Page 2 line 82
1) ;N MOVE A,6(R) ;IF(RN(L+7))GO TO G8B
1) ;N JUMPL A,G8B ; P7 IS NEG FOR TREMOLO
1) ;N MOVE A,7(R) ;IF(RN(L+8).NE.0)GO TO G8B
1) ;N JUMPN A,G8B
1) ;N CAMGE RZ,[=8.0]
1) ;N JRST G5 ;IF(RZ.LT.8)GO TO G5
1) ;N MOVE A,=9(R) ;IF(RN(L+10).EQ.0)GO TO G5
1) ;N JUMPE A,G5 ;PASSES NUMBER OVER BEAM.
1) ;N G8B: MOVE A,8(R)
1) CAMG A,RR4+1
1) CAMGE A,RR4 ;R4
1) JRST G5
1) AOJ J, ;J=J+1
1) ; IN LIMITS?
1) MOVEI A,MMV-1 ;J=J+1
1) ADDI A,(J)
1) MOVEI 0,(L)
1) ADDI 0,=9 ;IF(OUTLIM(R4,R5,RN(L+9)))GO TO 5
1) MOVEM 0,(A) ;N(J)=L+9
1) G5: MOVE A,5(R)
1) CAMG A,RR4+1
1) CAMGE A,RR4 ;R4
1) JRST GX
1) AOJ J,
1) ; IN LIMITS?
1) MOVEI A,MMV-1 ;J=J+1
1) ADDI A,(J)
1) MOVEI 0,(L) ;5 IF(OUTLIM(R4,R5,RN(L+6)))GO TO 1
1) ADDI 0,6 ;N(J)=L+6
1) MOVEM 0,(A)
1) ;;;GX: CAMGE X,RR4+4 ;1 CONTINUE
1) GX: CAMGE X,RINP+=18 ; I
1) AOJA M,G1 ;RINp+=18 IS I (OR NUM OF ITEMS)
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
1) MOVEM J,KJY+1
1) MOVEM K,KJY
1) JRA 16,(16)
1) ; SUBROUTINE MOVIT
**** File 2) MOVE.FAI[XX,LCS], Page 2 line 100
2) CAMLE A,.COMM.+6
2) JRST G5
2) CAMGE A,.COMM.+5 ;R4
2) JRST G5
2) CAMLE JJ2,X
2) MOVE JJ2,X
2) AOJ J, ;J=J+1
2) ; IN LIMITS?
2) MOVEI 0,=9(L)
2) MOVEM 0,RINP+=399(J)
2) G5: MOVE A,5(R)
2) CAMLE A,.COMM.+6
2) JRST GX
2) CAMGE A,.COMM.+5 ;R4
2) JRST GX
2) CAMLE JJ2,X
2) MOVE JJ2,X
2) AOJ J,
2) ; IN LIMITS?
2) MOVEI 0,6(L) ;5 IF(OUTLIM(R4,R5,RN(L+6)))GO TO 1
2) MOVEM 0,RINP+=399(J)
2) GX: CAMGE X,PTR+=250 ;1 CONTINUE
2) AOJA M,G1
2) MOVEM JJ2,POSI+=8
2) MOVEM J,KJY+1
2) MOVEM K,KJY
2) JRA 16,1(16)
2) ; SUBROUTINE MOVIT
***************
**** File 1) BIGGET.FAI[MSS,LCS], Page 2 line 128
1) MOVE R,.COMM.+3
1) FSBR R,.COMM.+2
1) MOVE RY,RR4+1
1) FSBR RY,RR4
1) FDVR R,RY
1) MOVEI L,MMV ; DO 1 K=1,J
1) SETZ K,
1) MOVE 0,.COMM.+3 ; SET UP R9
1) M1: MOVE X,L ; L=N(K)
1) MOVE A,(X)
1) MOVEI R2,XRN ;RA=RN(L)
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
1) ADDI R2,(A)
1) MOVEI RZ,(R2)
1) MOVE R2,-1(R2)
1) CAML R2,RR4 ;IF(OUTLIM(R4,R5,RA))GO TO 1
1) CAMLE R2,RR4+1
1) JRST MX
1) JUMPE 0,M2 ;IF(R9.NE.0)RA=(RA-R4)*RDIS
1) FSBR R2,RR4
1) FMPR R2,R
1) M2: FADR R2,.COMM.+2 ; RN(L)=R8+RA
1) MOVEM R2,-1(RZ)
**** File 2) MOVE.FAI[XX,LCS], Page 2 line 137
2) MOVE R,.COMM.+=10
2) FSBR R,.COMM.+=9
2) MOVE RY,.COMM.+6
2) FSBR RY,.COMM.+5
2) FDVR R,RY
2) MOVEI L,RINP+=400 ; DO 1 K=1,JS
2) SETZ K,
2) MOVE 0,.COMM.+=10 ; SET UP R9
2) M1: MOVE X,L ; L=N(K)
2) MOVE A,(X)
2) MOVEI R2,XRN(A) ;RA=RN(L)
2) MOVEI RZ,(R2)
2) MOVE R2,-1(R2)
2) CAMGE R2,.COMM.+5 ;IF(OUTLIM(R4,R5,RA))GO TO 1
2) JRST MX
2) CAMLE R2,.COMM.+6
2) JRST MX
2) JUMPE 0,M2 ;IF(R9.NE.0)RA=(RA-R4)*RDIS
2) FSBR R2,.COMM.+5
2) FMPR R2,R
2) M2: FADR R2,.COMM.+=9 ; RN(L)=R8+RA
2) MOVEM R2,-1(RZ)
***************
**** File 1) BIGGET.FAI[MSS,LCS], Page 2 line 155
1) SORT2: 0 ;SUBROUTINE SORT2(RPOS,M)
1) MOVEI 2,2 ;DIMENSION RPOS(2,200)
1) S3: MOVE 6,2 ;(K=L HERE)
1) SETO 11, ;L=2
1) HRRZI 3,@(16) ;3 J=-1
1) MOVE 4,2 ;RX=RPOS(1,L-1)
1) SUBI 4,1 ;L-1
1) IMULI 4,2
1) ADDI 4,(3)
1) MOVE 5,-2(4) ;RX
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
1) S2: MOVE 7,6 ; DO 2 K=L,M
1) ;; LSH 7,1 ;IF(RPOS(1,K).GE.RX)GO TO 2
1) IMULI 7,2 ;IF(RPOS(1,K).GE.RX)GO TO 2
1) ADDI 7,(3)
1) CAMG 5,-2(7)
1) JRST S1 ; CONTINUE
1) MOVE 5,-2(7) ; RX=RPOS(1,K)
1) ;;C WHY WERE ALL THE RX'S JX ????? 9/6/73
1) MOVE 11,6 ;J=K
1) S1: CAMGE 6,@1(16) ;2 CONTINUE
1) AOJA 6,S2
1) JUMPL 11,S4 ;IF(J)GO TO 4
1) MOVE 12,2 ;K=L-1
1) SOS 12
1) IMULI 12,2 ;(K*2)
1) ADD 12,3 ;CALL EXCH(RPOS(1,K),RPOS(1,J))
1) MOVE 10,-2(12)
1) ;; LSH 11,1 ;MULTS BY 2 (LEFT SHIFT)
1) IMULI 11,2
1) ADD 11,3
1) EXCH 10,-2(11)
1) MOVEM 10,-2(12)
1) MOVE 10,-1(12) ;CALL EXCH(RPOS(2,K),RPOS(2,J))
1) EXCH 10,-1(11)
1) MOVEM 10,-1(12)
1) S4: CAMGE 2,@1(16) ;4 L=L+1
1) AOJA 2,S3 ;IF(L.LE.M)GO TO 3
1) JRA 16,2(16) ;END
1) EXCH: 0 ; SUBROUTINE EXCH(X,Y)
1) MOVE @(16)
1) EXCH 0,@1(16)
1) MOVEM 0,@(16)
1) JRA 16,2(16)
1) EXTEN: 0 ;FUNCTION EXTEN(X)
1) HRRM 16,.+2
1) JSA 16,AMOD ;EXTEN=AMOD(X,1.)*10.
1) JUMP @0
1) JUMP [=1.0]
1) FMPR [=10.0]
1) JRA 16,1(16)
1) ; WRITES AND READS DUMP MODE FILES WITH ANY EXTENSION.
1) CH←12
1) CH2←11
1) BLKS←←=1
1) DEFINE ERROR (MSG)
1) < JSA 16,.ERROR
1) JUMP [ASCIZ/MSG/
1) ]
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
1) >
1) REGS: BLOCK 20
1) ;CALL PUTEXT(<FILE>,<EXT>)
1) PUTEXT: 0 ;USES EXTOUT,FINEXT, CH2
1) MOVE 0,@0(16)
1) MOVEM 0,FILNAM
1) MOVE 0,@1(16)
1) MOVEM 0,EXTNAM
1) JSA 16,INTFIL
1) SETZM DIR+2
1) SETZM DIR+3
1) ENTER CH2,DIR
1) ERROR <ENTER FAILED>
1) JRA 16,2(16)
1) DIR: BLOCK 4
1) ;CALL EXTOUT(<ARRAY>,<NO. OF WORDS>)
1) EXTOUT: 0
1) HRRZ 0,0(16)
1) SUBI 0,1
1) MOVEM 0,COM
1) MOVN 0,@1(16)
1) HRLM 0,COM
1) OUTPUT CH2,COM
1) STATZ CH2,740000
1) ERROR <WRITE ERROR>
1) JRA 16,2(16)
1) INTFIL: 0 ;INITS DSK
1) MOVEI REGS
1) BLT REGS+3
1) INIT CH2,17
1) SIXBIT/DSK/
1) 0
1) ERROR <CAN'T INIT DSK!>
1) INTF4: MOVE 0,FILNAM#
1) MOVEM 0,FN#
1) MOVE 1,[POINT 7,FN]
1) INTF3: MOVE 2,[POINT 6,DIR]
1) SETZM DIR
1) MOVEI 3,5
1) INTF1: ILDB 0,1
1) CAIN 0," "
1) JRST INTF2
1) SUBI 0,40
1) IDPB 0,2
1) SOJG 3,INTF1
1) INTF2: HRLZI REGS
1) BLT 3
1) MOVE 0,EXTNAM#
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
1) MOVEM 0,EX#
1) MOVE 1,[POINT 7,EX]
1) EXTF3: MOVE 2,[POINT 6,DIR+1]
1) SETZM DIR+1
1) MOVEI 3,5
1) EXTF1: ILDB 0,1
1) CAIN 0," "
1) JRST EXTF2
1) SUBI 0,40
1) IDPB 0,2
1) SOJG 3,EXTF1
1) EXTF2: HRLZI REGS
1) BLT 3
1) JRA 16,0(16)
1) COM: OCT 0,0
1) COM1: 0
1) BLKNUM: 0
1) ;CALL FINEXT
1) FINEXT: 0
1) CLOSE CH2,0
1) STATZ CH2,740000
1) ERROR <ERROR AFTER CLOSE>
1) RELEASE CH2,0
1) JRA 16,0(16)
1) ;CALL GETEXT(<FILE>,<EXT>)
1) GETEXT: 0
1) MOVE 0,@0(16)
1) MOVEM 0,FILNAM
1) MOVE 0,@1(16)
1) MOVEM 0,EXTNAM
1) JSA 16,INTFIZ
1) SETZM DIR+3
1) SETZM DIR+2
1) LOOKUP CH,DIR
1) ERROR <LOOKUP FAILED>
1) JRA 16,2(16)
1) INTFIZ: 0 ;INITS DSK FOR INPUT
1) MOVEI REGS
1) BLT REGS+3
1) INIT CH,17
1) SIXBIT/DSK/
1) 0
1) ERROR <CAN'T INIT DSK!>
1) JRST INTF4
1) ;CALL FASTI2(<ARRAY>,<NO. WORDS>)
1) EXTIN: 0
1) HRRZ 0,0(16)
1) SUBI 0,1
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
1) MOVEM 0,COM
1) MOVN 0,@1(16)
1) HRLM 0,COM
1) INPUT CH,COM
1) STATZ CH,740000
1) 0
1) JRA 16,2(16)
1) .ERROR: 0
1) OUTSTR [ASCIZ/?
1) /] ;MAKE SURE HE CAN SEE HIS ERROR
1) OUTSTR @(16) ;OUTPUT ERROR MESSAGE
1) CALLI 1,12 ;LET USER CONTINUE
1) JRA 16,1(16)
1)
1) END
**** File 2) MOVE.FAI[XX,LCS], Page 2 line 164
2) OUTLIM: 0 ; FUNCTION OUTLIM(I,J)
2) SETO 0, ; OUTLIM=-1
2) ; IF(RN(I+J).LT.R4)RETURN
2) MOVE 2,@(16)
2) ADD 2,@1(16)
2) MOVE 2,XRN-1(2)
2) CAMGE 2,.COMM.+5
2) JRA 16,2(16)
2) ; IF(RN(I+J).GT.R5)RETURN
2) CAMG 2,.COMM.+6
2) SETZ 0, ; OUTLIM=0
2) JRA 16,2(16)
2) ;***** COPYIT
2) ;; TITLE COPYIT
2) ; SUBROUTINE COPYIT
2) ; COMMON/XRN/RN(4000) /KJY/ DONT,JY /POSI/S(8),JJ2,P
2) ; COMMON R2,JA,CENTR,J2,RJQ(18),RX6,JR,L,RDIS,VY,JQ(17)
2) ; 1/PTR/PWDS(250),ITEM,LL,I,IX
2) ; EQUIVALENCE (R4,RJQ(2)),(R5,RJQ(3)),(R7,RJQ(5))
2) ; 1,(R6,RJQ(4)),(N,RN(2500))
2) STFCH: 0
2) SETO 13, ;FLAG FOR STFCH ROUTINE
2) JRST .+3
2) COPYIT: 0
2) SETZ 13, ;MAKE SURE IT'S 0
2) SETZ 7, ;IM=ITEM
2) MOVE 15,PTR+=250 ; AC7 IS K-1
2) SOJ 15, ;(ITEM-1)
2) CP1: JSA 16,RTLINE ;DO 1 K=1,IM
2) JUMP PTR(7) ;L=PWDS(K)
2) JUMPL CPY ; IF(RTLINE(L))GO TO 1
2) JSA 16,OUTLIM ;IF(OUTLIM(L,3))GO TO 1
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
2) JUMP PTR(7)
2) JUMP [3]
2) JUMPL CPY
2) MOVE 11,PTR(7) ; NOW L IS AC11
2) MOVE 10,.COMM.+7 ;IF(R6.NE.0.AND.R6.NE.RN(L+1))GO TO 1
2) JUMPE 10,CP3
2) CAME 10,XRN(11)
2) JRST CPY
2) CP3: JUMPL 13,STF2 ; SKIP OVER FOR STFCH ROUTINE
2) KIFIX 12,XRN-1(11) ;M=RN(L)+2
2) ADDI 12,2
2) JSA 16,LOOP ;CALL LOOP(0,M,1,I,L,RN)
2) JUMP [0]
2) JUMP 12
2) JUMP [1]
2) JUMP PTR+=252
2) JUMP 11
2) JUMP XRN
2) AOS PTR+=250 ;ITEM=ITEM+1
2) MOVE 13,PTR+=250
2) MOVE 11,PTR-1(13) ;L=PWDS(ITEM)
2) STF2: MOVE 14,.COMM.+=8 ;RN(L+2)=R7
2) MOVEM 14,XRN+1(11)
2) JUMPGE 13,CP2
2) MOVE 0,7
2) AOJ
2) CAMGE POSI+=8
2) MOVEM POSI+=8 ; IF(K.LT.JJ2)JJ2=K
2) JRST CPY
2) CP2: CAMGE 13,POSI+=8 ;IF(ITEM.LT.JJ2)JJ2=ITEM
2) MOVEM 13,POSI+=8
2) AOJ 12, ;I=I+M+1
2) ADD 12,PTR+=252
2) MOVEM 12,PTR+=252
2) MOVEM 12,PTR(13) ;PWDS(ITEM+1)=I
2) CPY: CAMGE 7,15 ;1 CONTINUE
2) AOJA 7,CP1
2) JUMPL 13,.+3
2) MOVE 7,.COMM.+=8 ;R2=R7
2) MOVEM 7,.COMM. ;DOES THIS MATTER FOR STFCH}
2) JRA 16,(16) ;END
2) ;SUBROUTINE STFCH
2) ;INTEGER PWDS
2) ;COMMON/XRN/RN(4000) /KJY/ DONT,JY /POSI/S(8),JJ2,P
2) ;COMMON R2,JA,CENTR,J2,RJQ(18),RX6,JR,L,RDIS,VY,JQ(17)
2) ;1/PTR/PWDS(250),ITEM,LL,I,IX
2) ;EQUIVALENCE (R7,RJQ(5)),(R6,RJQ(4))
2) ;DO 1 K=1,ITEM
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
2) ;L=PWDS(K)
2) ;IF(RTLINE(L))GO TO 1
2) ;IF(OUTLIM(L,3))GO TO 1
2) ;IF(RN(L+1).NE.R6.AND.R6.NE.0)GO TO 1
2) ;C DIDN'T MATCH THE CODE NUM.
2) ;IF(JJ2)JJ2=K
2) ;RN(L+2)=R7
2) ;1 CONTINUE
2) ;END
2) UPDN: 0 ;SUBROUTINE UPDN(NST)
2) ;INTEGER PWDS
2) ;COMMON/XRN/RN(4000) /KJY/ DONT,JY /POSI/S(8),JJ2,P
2) ;COMMON R2,JA,CENTR,J2,RJQ(18),RX6,JR,L,RDIS,VY,JQ(17)
2) ;1/PTR/PWDS(250),ITEM,LL,I,IX
2) MOVE 7,@(16) ;EQUIVALENCE (R4,RJQ(2)),(R5,RJQ(3)),(R11,RJQ(9))
2) SOJ 7, ;1,(R6,RJQ(4))
2) MOVE 15,PTR+=250 ; AC7 IS K-1
2) SOJ 15, ;(ITEM-1)
2) UPDN0: JSA 16,RTLINE ;DO 1 K=NST,ITEM
2) JUMP PTR(7) ;L=PWDS(K)
2) JUMPL UPDN1 ; IF(RTLINE(L))GO TO 1
2) MOVE 11,PTR(7) ;RY=RN(L+1) -- 11 IS L
2) MOVE 12,XRN(11) ;IF(RY.GT.16)GO TO 1
2) CAMG 12,[16.0] ; AC12=RY
2) CAME 12,[8.0] ;IF(RY.EQ.8)GO TO 1
2) CAMN 12,[3.0] ;IF(RY.EQ.3)GO TO 1
2) JRST UPDN1
2) CAMN 12,.COMM.+7 ;IF(RY.EQ.R6)GO TO 10
2) JRST UPDN10
2) SKIPE .COMM.+7 ;IF(R6.NE.0)GO TO 1
2) JRST UPDN1
2) UPDN10: CAME 12,[4.0] ; DIDN'T MATCH THE CODE NUM.
2) JRST UPDN11 ;10 ;IF(RY.NE.4)GO TO 11
2) MOVE 2,XRN-1(11) ;IF(RN(L).LT.3)GO TO 1
2) CAMGE 2,[3.0]
2) JRST UPDN1 ; A BAR LINE
2) UPDN11: JSA 16,OUTLIM ;11 IF(OUTLIM(L,3))GO TO 2
2) JUMP PTR(7)
2) JUMP [3]
2) JUMPL UPDN2
2) MOVE 2,.COMM.+=12 ;RN(L+4)=RN(L+4)+R11
2) FADRM 2,XRN+3(11)
2) ;IF(JJ2)JJ2=K
2) MOVE 0,7
2) AOJ
2) CAMGE POSI+=8
2) MOVEM POSI+=8 ;IF(K.LT.JJ2)JJ2=K
2) UPDN2: CAML 12,[4.0] ;2 ;IF(RY.LT.4)GO TO 1
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
2) CAML 12,[7.0] ;IF(RY.GE.7)GO TO 1
2) JRST UPDN1 ; NO WIGGLE ON TRILL
2) CAME 12,[4.0] ;IF(RY.NE.4.)GO TO 12
2) JRST UPDN12
2) MOVE XRN+4(11) ;IF(RN(L+5).EQ.50)GO TO 1
2) CAMN [50.0] ;AC0 IS RN(L+5)
2) JRST UPDN1 ; CRESC. OR BOX
2) UPDN12: JSA 16,OUTLIM ;12 ;IF(OUTLIM(L,6))GO TO 1
2) JUMP PTR(7)
2) JUMP [6]
2) JUMPL UPDN1
2) MOVE 3,.COMM.+=12 ;RN(L+5)=RN(L+5)+R11
2) FADRM 3,XRN+4(11)
2) ;IF(JJ2)JJ2=K
2) MOVE 0,7
2) AOJ
2) CAMGE POSI+=8
2) MOVEM POSI+=8 ;IF(K.LT.JJ2)JJ2=K
2) UPDN1: CAMGE 7,15 ;1 ;CONTINUE
2) AOJA 7,UPDN0
2) JRA 16,1(16) ;END
2) ;SUBROUTINE DELETE
2) ;IMPLICIT INTEGER(A-Q,S-Z)
2) ;COMMON/DL/X22,SAVER,NAME
2) ;COMMON /XRN/RN(4000)
2) ;COMMON R2,JA,CENTR,J2,RJQ(20),JQ(15),R6,DEL,X,JY,K
2) ;COMMON/PTR/PWDS(250),ITEM,L,I,IX
2) ;COMMON/DPY/ST(4000),WDS(250),MEDIT,IGO
2) DELETE: 0 ;EQUIVALENCE (ST2,ST(2))
2) MOVE 15,PTR+=252
2) MOVEM 15,PTR+=253
2) MOVE 12,DPY+=4250 ;171 IX=I 15 IS IX
2) MOVE 14,XRN-1(12) ;L=RN(MEDIT)+3.0
2) FADR 14,[3.0]
2) KIFIX 14,14 ;AC14 IS L
2) ; SIZE OF DELETION
2) SUB 15,14 ;I=IX-L
2) MOVEM 15,PTR+=252
2) JSA 16,LOOP ;CALL LOOP(MEDIT,I,1,0,L,RN)
2) JUMP DPY+=4250
2) JUMP PTR+=252
2) JUMP [1]
2) JUMP [0]
2) JUMP 14
2) JUMP XRN
2) MOVE 7,DL ;JY=WDS(X22+1)-WDS(X22)
2) MOVE 13,DPY+=4000(7)
2) SUB 13,DPY+=3999(7) ;JY IS 13, X22 IS 7
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
2) MOVEI 10,2
2) ADD 10,DPY+=3999(7) ;WDS(X22)+2
2) MOVE 15,PTR+=250 ;15 IS ITEM (X)
2) JSA 16,LOOP ;CALL LOOP(WDS(X22)+2,WDS(X),1,0,JY,ST)
2) JUMP 10
2) JUMP DPY+=3999(15)
2) JUMP [1]
2) JUMP [0]
2) JUMP 13
2) JUMP DPY
2) MOVE 12,7 ;K=X22
2) DELE: MOVE 11,12 ;194 N=K+1
2) AOJ 11, ;N IS 11 K IS 12
2) MOVE 2,DPY+=4000(11) ;WDS(N)=WDS(N+1)-JY
2) SUB 2,13
2) MOVEM 2,DPY+=3999(11)
2) MOVE 2,PTR-1(11) ;PWDS(K)=PWDS(N)-L
2) SUB 2,14
2) MOVEM 2,PTR-1(12)
2) MOVE 12,11 ;K=N
2) CAMGE 12,15 ;IF(K.LT.X)GO TO 194
2) JRST DELE ; ABOVE RESHUFFLES POINTER ARRAYS. X=ITEM+1
2) SOS PTR+=250 ;ITEM=ITEM-1
2) MOVE 2,PTR+=250
2) CAMLE 7,PTR+=250 ;IF(X22.GT.ITEM)X22=ITEM
2) MOVEM 2,DL
2) MOVEM 2,.COMM.+2 ;J2=ITEM
2) SOS PTR+=250 ;ITEM=ITEM-1
2) MOVE 2,DPY+=3999(2) ;ST2=WDS(J2)
2) MOVEM 2,DPY+1
2) JSA 16,DPYNEW ;271 CALL DPYNEW
2) JRA 16,(16)
2) NOIR: 0
2) JRA 16,1(16) ; DUMMY ******
2) SLEND: 0 ; SUBROUTINE SLEND
2) MOVE 8,[8.0] ;INTEGER PWDS
2) MOVE 7,SCM+=80 ;C TO FIND END POINTS OF STAVES
2) MOVE 4,[4.0];COMMON/XRN/RN(2000),IT,POS,RA,NN,JB,RB,A,B,JMP,JK,C,
2) ; 1 DMAX,UMAX,AA,JMAX,X,Y,BB,RNX(1982)
2) ; 1/SCM/V(78),I,LCNT,STAFF,LIST(200),REND/PTR/PWDS(250),ITEM,LL,IS,IX
2) SETZ 5, ;DO 1 K=1,ITEM
2) SLN1: MOVE 6,PTR(5) ;L=PWDS(K)
2) ;IF(RN(L+1).NE.8)GO TO 1
2) CAME 8,XRN(6) ;C FOUND A STAFF
2) JRST SLN1X ;IF(RN(L+2).NE.STAFF)GO TO 1
2) CAME 7,XRN+1(6) ;C GOT THE RIGHT ONE
2) JRST SLN1X ;IF(IT)GO TO 2
2) SKIPGE RMOD+=10 ;POS=202
1) BIGGET.FAI[MSS,LCS] and 2) MOVE.FAI[XX,LCS] 3-07-77 12:28 pages 2,2
2) JRST SLN2 ;C NOW CHECK LEFT SIDE OF STAFF
2) MOVE 15,[202.0] ;IF(RN(L).LT.4)RETURN
2) CAML 4,XRN-1(6) ;P6 WASN'T MENTIONED - SO IT =200
2) JRST SLN3
2) ;POS=RN(L+6)+2
2) MOVE 15,XRN+5(6) ;IF(POS.EQ.2)POS=202
2) FADR 15,[2.0] ;RETURN
2) CAMN 15,[2.0] ;2 POS=RN(L+3)-2.3
2) MOVE 15,[202.0] ;RETURN
2) JRST SLN3 ;1 CONTINUE
2) SLN2: MOVE 15,XRN+2(6) ;END
2) FSBR 15,[2.3]
2) SLN3: MOVEM 15,RMOD+=11
2) JRA 16,(16)
2) SLN1X: AOS 5
2) CAMGE 5,PTR+=250
2) JRST SLN1
2) JRA 16,(16)
2) POSIT: 0 ; FUNCTION POSIT(V)
2) MOVE 15,@(16) ; COMMON/XRN/RN(4000)
2) SKIPGE 15 ; DIMENSION POSNT(0/82)
2) MOVNS 15 ; EQUIVALENCE (POSNT,RN(3801))
2) ; 1,(A,RN(3884)),(K,RN(3885))
2) KIFIX 14,15 ; IF(V)V=-V
2) ; REREAD OR SOMETHING MAKES /1 C- 2/ GIVE A -2 FOR LAST NUM.!!!???
2) JSA 16,AMOD ; K=V
2) JUMP 15 ; A=POSNT(K)
2) JUMP [1.0] ;POSIT=A+(POSNT(K+1)-A)*AMOD(V,1.0)
2) ; TYPE /2.3 -- FOR POSITION BETWEEN NTS 2 AND 3. ETC.
2) MOVE 2,RINP+=801(14) ; END
2) FSBR 2,RINP+=800(14)
2) FMPR 0,2
2) FADR 0,RINP+=800(14)
2) JRA 16,1(16)
2)
2) NOTAIL: 0 ;FUNCTION NOTAIL(X)
2) SETZ ;NOTAIL=0
2) MOVM 2,@(16) ;X=ABS(X)
2) CAML 2,[0.56] ;IF(X.LT..56.OR.X.EQ..75)RETURN
2) CAMN 2,[0.75]
2) JRA 16,1(16)
2) CAME 2,[0.875] ;IF(X.EQ..875.OR.X.EQ..6)RETURN (8.. OR 10. )
2) CAMN 2,[0.6]
2) JRA 16,1(16)
2) SETO ;NOTAIL=-1
2) JRA 16,1(16)
2) END
***************